﻿using System;

namespace Red.Scripts.Defines.Guids
{
    /// <summary>
    /// Guids for identifying the VSIX package that encompasses the Scripts Plugin as a whole
    /// </summary>
    public static class Package
    {
        /// <summary>
        /// The Guid for the package in a raw string format
        /// </summary>
        public const string Raw = "53771682-E56F-44F5-B775-89ED23CD40DE";

        /// <summary>
        /// The Guid for the package in a Guid class format
        /// </summary>
        public static Guid Guid => new Guid( Raw );
    }

    public static class Project
    {
        /// <summary>
        /// The Guid that represents the .redproj project type in a raw string format
        /// </summary>
        public const string Raw = "f7610907-a86c-498c-bd39-713d3e872cff";

        /// <summary>s
        /// The Guid that represents the .redproj project type in a Guid class format
        /// </summary>
        public static Guid Guid => new Guid( Raw );
    }

    namespace Options
    {
        public static class General
        {
            public const string Raw = "BEA88FBC-BCBB-4EB0-A407-3DA8371B2AAC";

            public static Guid Guid => new Guid( Raw );
        }

        public static class SccSearchOrder
        {
            public const string Raw = "63F779F1-543B-42DB-BBFD-71E1BEC4A495";

            public static Guid Guid => new Guid( Raw );
        }
    }


    namespace Language
    {
        public static class Id
        {
            public const string Name = "Red Scripts";
            public const string Raw = "3296AEAF-AA0D-400F-81FC-18C4B6CE0546";

            public static Guid Guid { get; private set; } = new Guid( Raw );
        }
    }

    /// <summary>
    /// Guids for the Debugger
    /// </summary>
    namespace Debugger
    {
        /// <summary>
        /// Identify the debug engine
        /// </summary>
        public static class Engine
        {
            /// <summary>
            /// The Guid for the Debug engine in a raw string format
            /// </summary>
            public const string Raw = "8F858420-A573-4264-A73D-9DD24D3DF22D";

            /// <summary>
            /// The Guid for the Debug engine in a Guid class format
            /// </summary>
            public static Guid Guid => new Guid( Raw );
        }

        /// <summary>
        /// Identify the port supplier
        /// </summary>
        public static class PortSupplier
        {
            /// <summary>
            /// The Guid for the Port Supplier in a raw string format
            /// </summary>
            public const string Raw = "B1B030BF-29D2-43FC-BCEC-1CDBCC8D11F7";

            /// <summary>
            /// The Guid for the Port Supplier in a Guid class format
            /// </summary>
            public static Guid Guid => new Guid( Raw );
        }
    }

    namespace Theme
    {
        namespace Category
        {
            public static class TextEditor
            {
                public const string Raw = "75A05685-00A8-4DED-BAE5-E7A50BFA929A";

                public static Guid Guid { get; private set; } = new Guid( Raw );
            }
        }
    }
}
